package com.szxydb.dmp.admin.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.szxydb.dmp.admin.system.model.SystemAdmin;
import com.szxydb.dmp.admin.system.request.SystemAdminAddRequest;
import com.szxydb.dmp.admin.system.request.SystemAdminRequest;
import com.szxydb.dmp.admin.system.response.SystemAdminResponse;
import com.szxydb.dmp.common.PageParamRequest;

import java.util.List;

public interface SystemAdminService extends IService<SystemAdmin> {

    SystemAdminResponse login(SystemAdminRequest request,String ip) throws Exception;

    SystemAdminResponse getInfo(SystemAdminRequest request) throws Exception;

    List<SystemAdminResponse> getList(SystemAdminRequest request, PageParamRequest pageParamRequest);

    void bind(String wxCode,Integer adminId);

    SystemAdminResponse getInfoByToken(String token) throws Exception;

    Boolean logout(String token)throws Exception;

    SystemAdminResponse saveAdmin(SystemAdminAddRequest systemAdminAddRequest) throws Exception;

    SystemAdminResponse updateAdmin(SystemAdminRequest systemAdminRequest) throws Exception;

    Integer getAdminId();

    SystemAdmin getInfo(Integer adminId);

    SystemAdmin getInfo();

    SystemAdminResponse wechatAuthorizeLogin(String code,String ip);

    Boolean unBind();

}
